<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:p="http://primefaces.org/ui"
      xmlns:f="http://java.sun.com/jsf/core">
    <h:head>
        <title>Gerenciamento de produtos</title>
    </h:head>
    <h:body>

        <p:layout fullPage="true">

            <p:layoutUnit position="south" size="60" style="text-align: center">
                <h:form>
                    <p:button outcome="venda" value="Vender"/>
                    <p:button outcome="categorias" value="Cadastrar Categorias"/>
                    <p:commandButton value="Pesquisar" type="button" onclick="PF('dlg2').show();" />
                </h:form>
            </p:layoutUnit>

            <p:layoutUnit position="north">
                <h:form enctype="multipart/form-data">
                    <p:growl id="messages" showDetail="true" />
                    <h:inputHidden value="#{produtoBean.produto.id}"/>
                    <h:panelGrid columns="3">

                        <h:outputLabel value="Categoria:" for="categoria"/>
                        <p:selectOneMenu value="#{produtoBean.produto.categoria}" id="categoria" converter="categoriaConverter" required="true">
                            <f:selectItem itemLabel="-- Selecione --" noSelectionOption="true" itemValue=""/>                            
                            <f:selectItems itemLabel="#{cat.nome}" itemValue="#{cat}" var="cat" value="#{categoriaBean.listar}"/>
                        </p:selectOneMenu>
                        <span></span>

                        <h:outputLabel value="Nome:" for="nome"/>
                        <p:inputText value="#{produtoBean.produto.nome}" id="nome" required="true" requiredMessage="nome é obrigatório"/>
                        <span></span>

                        <h:outputLabel value="Estoque:" for="estoque"/>
                        <p:inputMask id="estoque" value="#{produtoBean.produto.estoque}"
                                     mask="9?999"
                                     maxlength="4"
                                     placeHolder=" "/>

                        <span></span>

                        <h:outputLabel value="Preço:" for="preco"/>
                        <p:inputText value="#{produtoBean.produto.preco}" id="preco"/>
                        <span></span>

                        <h:outputLabel value="Validade:" for="validade"/>
                        <p:calendar value="#{produtoBean.produto.validade}" id="validade" pattern="dd/MM/yyyy"/>
                        <p:commandButton value="Salvar" actionListener="#{produtoBean.salvar()}" ajax="false"/>

                        <span></span>
                        <span></span>
                        
                        <h:inputFile value="#{produtoBean.file1}" />

                    </h:panelGrid>
                </h:form>
            </p:layoutUnit>

            <p:layoutUnit position="center">
                <h:form id="frmListagem">
                    <p:dataTable var="produto" value="#{produtoBean.listar}">
                        <p:column headerText="Id">
                            <h:outputText value="#{produto.id}" />
                        </p:column>

                        <p:column headerText="Categoria">
                            <h:outputText value="#{produto.categoria.nome}" />
                        </p:column>

                        <p:column headerText="Nome">
                            <h:outputText value="#{produto.nome}" />
                        </p:column>

                        <p:column headerText="Estoque">
                            <h:outputText value="#{produto.estoque}" />
                        </p:column>

                        <p:column headerText="Preço">
                            <h:outputText value="#{produto.preco}" />
                        </p:column>

                        <p:column headerText="Validade">
                            <h:outputText value="#{produto.validade}">
                                <f:convertDateTime type="date" pattern="dd/MM/yyyy"/>
                            </h:outputText>
                        </p:column>

                        <p:column headerText="Ações" style="text-align: center;">
                            <h:commandLink action="#{produtoBean.excluir(produto)}">
                                <h:graphicImage library="img" name="glyphicons_016_bin.png" style="margin:0 10px;"/>
                            </h:commandLink>

                            <h:commandLink action="#{produtoBean.setProduto(produto)}">
                                <h:graphicImage library="img" name="glyphicons_030_pencil.png"/>
                            </h:commandLink>
                        </p:column>

                    </p:dataTable>

                </h:form>
            </p:layoutUnit>

        </p:layout>

        <p:dialog header="Pesquisa" widgetVar="dlg2" modal="true" height="200" width="400">

            <h:form>
                <h:panelGrid columns="2">

                    <h:outputLabel value="Pesquisar por:" for="pesquisar"/>
                    <p:selectOneMenu value="#{produtoBean.pesquisarPor}" id="pesquisar">
                        <f:selectItem itemLabel="-- Selecione --" noSelectionOption="true" itemValue="-1"/>                            
                        <f:selectItem itemLabel="Categoria" itemValue="1"/>                            
                        <f:selectItem itemLabel="Nome" itemValue="2"/>                            
                    </p:selectOneMenu>

                    <h:outputLabel value="Valor a pesquisar:" for="valPesq"/>
                    <p:inputText value="#{produtoBean.criterio}" id="valPesq"/>
                    
                    <p:commandButton value="Pesquisar" actionListener="#{produtoBean.listar}" update=":frmListagem"/>

                </h:panelGrid>
            </h:form>
        </p:dialog>

    </h:body>
</html>